<?php
namespace Pinenut\Config;

class Privileges extends \Pinenut\Config {
	
	static function getFiltered($key, $value) {
		return array_filter(static::$config, 
			function ($v) use ($key, $value) {
				return isset($v[$key]) && $v[$key] == $value;
			});
	}
	
	static function getPrivilegesByProperty($property) {
		$roles = self::getFiltered($property, true);
		$privileges = array();
		foreach($roles as $role) {
			$privileges += $role['privileges'];
		}	
		// фильтруем полученный массив, чтобы были только уникальные значения
		$privileges = array_unique($privileges);
		// создаём массив, где ключ=значение и оба - имя привилегии
		// зы: может вынести в пользовательский модуль ,а то уж очень подготовки тут много для него...
		$privileges = array_combine($privileges, $privileges);
		return $privileges;
	}
}